|
このテクニカルノートでは、Mac OS X
で使用される CGDirectPalette API
のリファレンス情報を示します。
CGDirectPalette API
は、CGDirectDisplay API
の助けを借りて、ディスプレイパレットへの容易なアクセスを提供するように設計されています。
このテクニカルノートでは、重要なデータ型とこの
API
に含まれるすべての関数呼び出しについて説明します。なお、「Technical
Note 2007」では、CGDirectDisplay によって提供される
API を取り扱っています。
更新日: 2000 年 11 月 8 日
|
定義
CGDirectPalette API で使用されるデータ型
Data Type
|
説明
|
CGDirectDisplayID
|
ディスプレイへの opaque 参照
(kCGDirectMainDisplay
は便宜上メインディスプレイを参照します)
|
CGDirectPaletteRef
|
パレットへの opaque 参照
|
CGTableCount
|
符号なし 32 ビット値
|
CGByteValue
|
ガンマ/パレット関数によって使用される符号なし 8
ビット値
|
CGPaletteBlendFraction
|
0.0 から 1.0 の範囲の浮動小数点値
|
CGDeviceColor
|
赤、緑、および青に対応する 3
つの浮動小数点値によって表される色 (各チャネルで
0.0 は黒色、1.0 は最大の明度)
|
CGDeviceByteColor
|
赤、緑、および青に対応する 3
つの符号なしバイト値によって表される色
(各チャネルで 0x00 は黒色、0xFF は最大の明度)
|
ページの先頭に戻る
パレットの作成とリリース
CGDirectPaletteRef CGPaletteCreateDefaultColorPalette(void);
- デフォルトの 8
ビットカラーパレットを表す、新しいパレットオブジェクトを作成します。
- CGPaletteRelease()
を使用して、結果として作成されたパレットをリリースします。
CGDirectPaletteRef CGPaletteCreateWithDisplay(
CGDirectDisplayID display);
- 可能な場合に、指定されたディスプレイの現在のパレットのコピーを作成します。
- 現在のディスプレイモードがパレットをサポートしていない場合に
NULL を返します。
- CGPaletteRelease()
を使用して、結果として作成されたパレットをリリースします。
CGDirectPaletteRef CGPaletteCreateWithCapacity(
CGTableCount capacity );
- 指定された容量を含む新しいパレットを作成します。
- デフォルトのカラーパレットのエントリを初期化します。
- CGPaletteRelease()
を使用して、結果として作成されたパレットをリリースします。
CGDirectPaletteRef CGPaletteCreateWithSamples(
CGDeviceColor * sampleTable,
CGTableCount sampleCount);
- 指定された容量と内容を含む新しいパレットオブジェクトを作成します。
- CGPaletteRelease()
を使用して、結果として作成されたパレットをリリースします。
CGDirectPaletteRef CGPaletteCreateWithByteSamples(
CGDeviceByteColor * sampleTable,
CGTableCount sampleCount);
- 指定された容量と内容を含む新しいパレットオブジェクトを作成します。
- CGDeviceColors の代わりに CGDeviceByteColors
を要求する点を除いて、CGPaletteCreateWithSamples
と同じです。
- CGPaletteRelease()
を使用して、結果として作成されたパレットをリリースします。
void CGPaletteRelease(
CGDirectPaletteRef palette );
ページの先頭に戻る
パレット情報へのアクセス
CGDeviceColor CGPaletteGetColorAtIndex(
CGDirectPaletteRef palette,
CGTableCount index);
- 指定されたインデックスにある CGDeviceColor
を返します。
- インデックスが範囲外の場合に 黒色 ( 0, 0, 0 )
を返します。
CGTableCount CGPaletteGetIndexForColor(
CGDirectPaletteRef palette,
CGDeviceColor color);
- 指定されたカラー値に最も近いインデックスを返します。
- 返されるインデックスは、指定された色に関する最小 RMS
(Root-mean-squared)
誤差を含むパレットカラーに対応します。
CGTableCount CGPaletteGetNumberOfSamples(
CGDirectPaletteRef palette);
- パレットに含まれるサンプルの数を返します。
- 無効な CGDirectPaletteRef には 0 を返します。
void CGPaletteSetColorAtIndex(
CGDirectPaletteRef palette,
CGDeviceColor color,
CGTableCount index);
- 指定されたインデックスにカラー値を設定します。
- インデックスが範囲外にある場合はエラーが発生します。
ページの先頭に戻る
パレットのコピー
CGDirectPaletteRef CGPaletteCreateCopy(
CGDirectPaletteRef palette);
- 指定されたパレットと同じ容量と内容を含む新しいパレットオブジェクトを作成します。
- CGPaletteRelease()
を使用して、結果として作成されたパレットをリリースします。
CGDirectPaletteRef CGPaletteCreateFromPaletteBlendedWithColor(
CGDirectPaletteRef palette,
CGPaletteBlendFraction fraction,
CGDeviceColor color);
- 指定されたパレットとデバイスカラーの小数部分をブレンドして、新しいパレットオブジェクトを作成します。
- CGPaletteRelease()
を使用して、結果として作成されたパレットをリリースします。
ページの先頭に戻る
パレットの比較
Boolean CGPaletteIsEqualToPalette(
CGDirectPaletteRef palette1,
CGDirectPaletteRef palette2);
- 2 つのパレットが同じ容量と内容を持つ場合に true
を返します。
- そうでない場合に false を返します。
- 一方または両方の CGDirectPaletteRefs が無効な場合に
false を返します。
要約
このテクニカルノートでは、重要なデータ型や関数呼び出しなど、CGDirectPalette
API
の使用を始めるときに必要となる基本的な情報について説明しました。CGDirectDisplay
API の使い方については、「Technical Note
2007」を参照してください。
|